package upc.dew.inscripcionalumnos.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import upc.dew.inscripcionalumnos.dao.CatalogoDAO;
import upc.dew.inscripcionalumnos.exception.ServiceException;
import upc.dew.inscripcionalumnos.model.Distrito;
import upc.dew.inscripcionalumnos.model.EstadoCivil;
import upc.dew.inscripcionalumnos.model.Genero;
import upc.dew.inscripcionalumnos.model.Requisito;
import upc.dew.inscripcionalumnos.model.TipoDocumento;
import upc.dew.inscripcionalumnos.model.Modalidad;
import upc.dew.inscripcionalumnos.service.CatalogoService;


public class CatalogoServiceImpl implements CatalogoService 
{
    @Autowired
    private CatalogoDAO catalogoDao;

    public List<Distrito> obtenerDistritos() throws ServiceException
    {
        return catalogoDao.obtenerDistritos();
    }

    public List<EstadoCivil> obtenerEstadosCivil() throws ServiceException
    {
        return catalogoDao.obtenerEstadosCivil();
    }

    public List<TipoDocumento> obtenerTiposDocumento() throws ServiceException
    {
        return catalogoDao.obtenerTiposDocumento();
    }
    
    public List<Genero> obtenerGeneros() throws ServiceException
    {
        return catalogoDao.obtenerGeneros();
    }

    public List<Modalidad> obtenerModalidades() throws ServiceException
    {
        return catalogoDao.obtenerModalidades();
    }

    public List<Requisito> obtenerRequisitosPorModalidad(Integer codigoModalidad) throws ServiceException
    {
         return catalogoDao.obtenerRequisitosPorModalidad(codigoModalidad);
    }

    public Distrito obtenerDistrito(String codigoDistrito) throws ServiceException {
        return catalogoDao.obtenerDistrito(codigoDistrito);
    }

    public EstadoCivil obtenerEstadoCivil(String codigoEstadoCivil) throws ServiceException {
        return catalogoDao.obtenerEstadoCivil(codigoEstadoCivil);
    }

    public TipoDocumento obtenerTipoDocumento(String codigoTipoDocumento) throws ServiceException {
        return catalogoDao.obtenerTipoDocumento(codigoTipoDocumento);
    }

}